package com.jsoft.service;/**
 * @author snkstart
 * @create 2023-02-22 23:57
 */

import com.jsoft.entity.TicketOpen;
import com.jsoft.entity.po.TicketEnterInsti;

import java.util.Date;
import java.util.List;

/**
 * TicketEnterInsti的服务层
 *
 * @ClassName TicketEnterInstiService
 * @Description TODO
 * @Author 29513
 * @Date 2023/2/22 23:57
 * @Version 1.0
 */

public interface TicketEnterInstiService {


    /**
     * 查询所有的显示在复合界面的列表
     * @return
     */
    List<TicketEnterInsti> selectAllTicketEnterInsti();


    /**
     * 根据点击不同数据后的审核查询相对应的数据
     * @return 一个TicketEnterInsti对象
     * @throws Exception
     */
    TicketEnterInsti findTicketEnterInstiById(Integer tid);


    /**
     * 根据查询的id改变该条数据的状态为通过
     * @param tid
     * @return 改变的条数
     * @throws Exception
     */
    int updateStatusById(Integer tid);

    /**
     * 根据查询的id改变该条数据的状态为不通过
     * @param tid
     * @return 改变的条数
     * @throws Exception
     */
    int changeStatusById(Integer tid);


    /**
     * 根据选择的条件不同返回满足条件的视图对象集合
     * @param ticketEnterInsti
     * @return 视图对象集合
     * @throws Exception
     */
    List<TicketEnterInsti> CheckTicketByView(TicketEnterInsti ticketEnterInsti) throws Exception;


    /**
     * 查询付款列表
     * @return 返回付款列表
     */
    List<TicketEnterInsti> findOpenList();

    /**
     * 查询详细信息根据订单得编号
     * @param no
     * @return
     */
    TicketEnterInsti findDetailByNode(String no);

    /**
     * 点击撤销按钮触发的事件方法 将其状态改为C(已撤销)
     * @param no
     * @return
     * @throws Exception
     */
    int updateStatusByNo(String no);


    /**
     * 根据输入框数据获取开单列表
     * @param ticketEnterInsti
     * @return
     */
    List<TicketEnterInsti>  selectViewByCondition(TicketEnterInsti ticketEnterInsti);

}
